/**
 * 发送get请求
 * @param {String} url 请求地址
 * @param {String} params 请求参数
 * @param {function} headersFn 自定义请求头
 * @return Promise 里面存放了成功和失败的数据
 */
function get(url, parmas, headersFn) {
    return new Promise((resolve, reject) => {
        const xhr = new XMLHttpRequest()
        xhr.onreadystatechange = function() {
            if (xhr.readyState === 4) {
                if (xhr.status === 200) {
                    let res = JSON.parse(xhr.responseText)
                    resolve(res)
                } else {
                    reject(xhr.status)
                }
            }
        }
        xhr.open('get', `${url}?${parmas}`)
        if (headersFn) headersFn(xhr)
        xhr.send()
    })
}


/**
 * 发送post请求
 * @param {String} url 请求地址
 * @param {String} params 请求参数
 * @param {function} headersFn 自定义请求头
 * @return Promise 里面存放了成功和失败的数据
 */
function post(url, params, headersFn) {
    return new Promise((resolve, reject) => {
        const xhr = new XMLHttpRequest()
        xhr.onreadystatechange = function() {
            if (xhr.readyState === 4) {
                if (xhr.status === 200) {
                    let res = JSON.parse(xhr.responseText)
                    resolve(res)
                } else {
                    reject(xhr.status)
                }
            }
        }
        xhr.open('post', url)
        xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
        if (headersFn) headersFn(xhr)
        xhr.send(params)
    })
}